 \section{Overview}\label{index_overview}
Qua\-ZIP is a simple C++ wrapper over {\tt Gilles Vollant's ZIP/UNZIP package} that can be used to access ZIP archives. It uses {\tt Trolltech's Qt toolkit}.

If you do not know what Qt is, you have two options:\begin{itemize}
\item Just forget about Qua\-ZIP.\item Learn more about Qt by downloading it and/or reading excellent {\tt official Qt documentation}\end{itemize}


The choice is yours, but if you are really interested in cross-platform (Windows/Linux/BSD/UNIX/Mac/Others) software development, I would definitely recommend you the second choice $^\wedge$\_\-$^\wedge$

Qua\-ZIP allows you to access files inside ZIP archives using QIODevice API, and - yes! - that means that you can also use QText\-Stream, QData\-Stream or whatever you would like to use on your zipped files.

Qua\-ZIP provides complete abstraction of the ZIP/UNZIP API, for both reading from and writing to ZIP archives.\section{Platforms supported}\label{index_platforms}
Qua\-ZIP has been currently tested with Qt 4.0.0 on the following platforms:\begin{itemize}
\item linux-g++\item freebsd-g++\item hpux-acc\item win32-g++ (Min\-GW)\end{itemize}


No testing has been done on other systems. Of course, patches to make it work on any platform that it currently does not work on are always welcome!\section{What is new in this version of Qua\-ZIP?}\label{index_whats-new}
See NEWS file supplied with the distribution.\section{Getting latest version of Qua\-ZIP}\label{index_getting}
Check {\tt Qua\-ZIP project's page at Source\-Forge.net}. Also, you may wish to read latest version documentation available at the {\tt Qua\-ZIP web site}.\section{Requirements}\label{index_Requirements}
Just {\tt zlib} and Qt 4. Well, Qt 4 depends on zlib anyway.\section{Building, testing and installing}\label{index_building}
\begin{Desc}
\item[Note:]Instructions given in this section assume that you are using some UNIX dialect, but the build process should be very similar on win32-g++ platform too. Sorry, but other platforms are undocumented. I do not think it is a big deal, though - it is standard usage of the Qt's qmake, so you most probably already know everything that is required.\end{Desc}
To build it on some UNIX dialect: 

\footnotesize\begin{verbatim}$ cd /wherever/quazip/source/is/quazip-x.y.z/quazip
$ qmake [PREFIX=where-to-install]
$ make
\end{verbatim}
\normalsize


Make sure that you have Qt 4 installed with all required headers and utilities (not just library) and that you run qmake utility of the Qt 4, not some other version you may have already installed (you may need to type full path to qmake like /usr/local/qt4/bin/qmake).

To reconfigure (with another PREFIX, for example), just run qmake with appropriate arguments again.

If you need to specify additional include path or libraries, use qmake features (see qmake reference in the Qt documentation). For example:



\footnotesize\begin{verbatim}$ qmake LIBS+=-L/usr/local/zlib/lib INCLUDEPATH+=/usr/local/zlib/include
\end{verbatim}
\normalsize
 (note abscence of \char`\"{}-I\char`\"{} before include path)

To check if Qua\-ZIP's basic features work ok on your platform, you may wish to compile simple test programs provided in test directory. Look in the sources of the tests to find out about their requirements. Typically, the test looks something like this: 

\footnotesize\begin{verbatim}$ cd /wherever/quazip/source/is/quazip-x.y.z/test/zip
$ qmake
$ make
$ ./zip
$ cd ../unzip
$ cp ../zip/test.zip ./test.zip
$ mkdir out
$ qmake
$ make
$ ./unzip
\end{verbatim}
\normalsize


You should see the zip contents with details as the output of the \char`\"{}./unzip\char`\"{}. Ignore message saying you should check the file name for test\-Case() if you do not want to test \doxyref{locale-aware case-insensitivity}{p.}{classQuaZip_6053a1d249ed210a85c9d5eb7cf9cdbe}. Otherwise, see the sources. In any case, this message appearing means that everything else was fine. Otherwise, you will get some other error message instead. Investigate it or send bug report including message, platform and Qua\-ZIP version used.

To install compiled library: 

\footnotesize\begin{verbatim}$ make install
\end{verbatim}
\normalsize


By default, Qua\-ZIP compiles as static library, but you have other options:\begin{itemize}
\item Just copy appropriate source files to your project and use them;\item Compile Qua\-ZIP as shared library by changing \char`\"{}staticlib\char`\"{} in quazip/quazip.pro to \char`\"{}dll\char`\"{}.\end{itemize}


Latter is not recommended because future versions of Qua\-ZIP most probably will be binary incompatible.\section{Using}\label{index_using}
See \doxyref{usage page}{p.}{usage}.\section{Bugs}\label{index_bugs}
Qua\-ZIP is currently at the initial development stage. Therefore, there are may be plenty of bugs and other bad things. Bug reports and patches are always welcome (see \char`\"{}contacts\char`\"{} below).\section{Authors and contacts}\label{index_contacts}
This wrapper has been written by Sergey A. Tachenov, AKA Alqualos. This is my first open source project, so it may suck, but I did not find anything like that, so I just had no other choice but to write it.

If you have anything to say to me about Qua\-ZIP library, feel free to do so (read the \doxyref{Qua\-Zip FAQ}{p.}{faq} first, though). I can not promise, though, that I fix all the bugs you report in, add any features you want, or respond to your critics, or respond to your feedback at all. I may be busy, I may be tired of working on Qua\-ZIP, I may be even dead already (you never know...). But regardless of this remark, any feedback is always welcome. This may seem like a paradox to you, but you do not have to understand it to write feedback.

To report bugs or to post ideas about what should be done, use Source\-Forge.net's {\tt trackers}. If you want to send me a private message, use my e-mail address laerel at yandex dot ru (but do not you dare to put it somewhere on the Web or wherever).

Do not use e-mail to report bugs, please. Reporting bugs and problems with the Source\-Forge.net's bug report system has that advantage that it is visible to public.\section{My other projects}\label{index_other-projects}
As of this moment, I did not write any other useful open source software (well, I am too lazy to do it) except for one little thing:

{\tt Arcanum universal cap remover}. Arcanum is the old but very good game, which has one stupid limit: your character maximum level is 50, which is too low for many players including me. So I wrote this simple patch to increase this stupid limit to something acceptable.

Also, my first Web project, which can be of any interest to you only if you can read Russian and you are crazy $^\wedge$\_\-- This is a web site with the main topic of it being The Delirium. It is totally meaningless and it was purposely made to be such. Do not ask me why - I do not know either. I just did that. If you are interested, then welcome to {\tt The Brededor}. It does not get updated lately because I have become even lazier than I ever was. But I do not plan to destroy The Brededor no matter what, because I think it is fun.

Copyright (C) 2005-2007 Sergey A. Tachenov 